home *** CD-ROM | disk | FTP | other *** search
/ Merciful 5 / Merciful - Disc 5.iso / software / p / pcqpascalv1.2d.lha / Include / Diskfont / Glyph.i < prev    next >
Text File  |  1997-05-06  |  2KB  |  62 lines

  1.  
  2.  {      glyph.h -- structures for glyph libraries }
  3.  
  4. {$I "Include:Exec/Types.i"}
  5. {$I "Include:Exec/Libraries.i"}
  6. {$I "Include:Exec/Nodes.i"}
  7.  
  8.  
  9. Type
  10. { A GlyphEngine must be acquired via OpenEngine and is read-only }
  11.  GlyphEngine = Record
  12.     gle_Library  : LibraryPtr; { engine library }
  13.     gle_Name     : String;     { library basename: e.g. "bullet" }
  14.     { private library data follows... }
  15.  end;
  16.  GlyphEnginePtr = ^GlyphEngine;
  17.  
  18.  FIXED = Integer;             { 32 bit signed w/ 16 bits of fraction }
  19.  
  20.  GlyphMap = Record
  21.     glm_BMModulo,               { # of bytes in row: always multiple of 4 }
  22.     glm_BMRows,                 { # of rows in bitmap }
  23.     glm_BlackLeft,              { # of blank pixel columns at left }
  24.     glm_BlackTop,               { # of blank rows at top }
  25.     glm_BlackWidth,             { span of contiguous non-blank columns }
  26.     glm_BlackHeight : WORD;     { span of contiguous non-blank rows }
  27.     glm_XOrigin,                { distance from upper left corner of bitmap }
  28.     glm_YOrigin     : FIXED;    {   to initial CP, in fractional pixels }
  29.     glm_X0,                     { approximation of XOrigin in whole pixels }
  30.     glm_Y0,                     { approximation of YOrigin in whole pixels }
  31.     glm_X1,                     { approximation of XOrigin + Width }
  32.     glm_Y1          : WORD;     { approximation of YOrigin + Width }
  33.     glm_Width       : FIXED;    { character advance, as fraction of em width }
  34.     glm_BitMap      : Address;  { actual glyph bitmap }
  35.  end;
  36.  GlyphMapPtr = ^GlyphMap;
  37.  
  38.  GlyphWidthEntry = Record
  39.     gwe_Node  : MinNode;        { on list returned by OT_WidthList inquiry }
  40.     gwe_Code  : WORD;           { entry's character code value }
  41.     gwe_Width : FIXED;          { character advance, as fraction of em width }
  42.  end;
  43.  GlyphWidthEntryPtr = ^GlyphWidthEntry;
  44.  
  45.  
  46. FUNCTION OpenEngine : GlyphEnginePtr;
  47.     External;
  48.  
  49. PROCEDURE CloseEngine( GE : GlyphEnginePtr);
  50.     External;
  51.  
  52. FUNCTION SetInfoA(GE : GlyphEnginePtr; TagList : Address) : Integer;
  53.     External;
  54.  
  55. FUNCTION ObtainInfoA(GE : GlyphEnginePtr; TagList : Address) : Integer;
  56.     External;
  57.  
  58. FUNCTION ReleaseInfoA(GE : GlyphEnginePtr; TagList : Address) : Integer;
  59.     External;
  60.  
  61.  
  62.